`

sql-test

    博客分类:
  • DB
 
阅读更多

//sql语句请教查询结果相加,表别名。
sql描述:同一张table里面,某一字段值确定相同,另一字段值确定的情况下。

 

 

SELECT COUNT(*) AS TOTAL,CM_WGT
FROM HZW_CM 
WHERE CM_WGT=10 AND  PRODUCT_CTG IN('BB煲','DHA')

 --

 

SELECT NAMES,SUM(sale) AS sale 
FROM 
(SELECT NAMES, sale  FROM db1
UNION 
SELECT NAMES, sale  FROM db2
)
GROUP BY NAMES
 

 

排序,取值:
 SELECT

  COUNT(*) AS TOTALNUM
FROM HZW_OV
WHERE PRODUCT_NAME LIKE '%45%'
ORDER BY PRODUCT_ID DESC;

--

SELECT
  SUM(CASE WHEN consumer_bhv='B' THEN 1 ELSE 0 END) AS B_num
FROM dba.transactions;

 

--Test result;
select top 50 * from hzw_cm;

 

 

-- 求出 表REC_1_PRDCT_INFO 中各个user_id下的各个ctg中价格最高的商品集
SELECT
  a.user_id,
  a.product_ctg,
  a.max_price,
  b.product_name,
  b.product_id
FROM (SELECT
        user_id,
        product_ctg,
        MAX(product_price)    max_price
      FROM REC_1_PRDCT_INFO
      GROUP BY user_id,product_ctg) AS a,
  REC_1_PRDCT_INFO AS b
WHERE a.user_id = b.user_id
    AND a.product_ctg = b.product_ctg
    AND a.max_price = b.product_price

 

 

-- DISTINCT
SELECT DISTINCT user_id 
FROM REC_1_PRDCT_INFO

-- 删除表
DROP TABLE TEMP_TRANSACTIONS

-- 删除全表数据
DELETE FROM ADS_SITE_STYLE

SELECT COUNT(*)
FROM TRANSACTIONS
WHERE Rec_date BETWEEN '2012-08-01' AND '2012-08-10'

-- mysql CONCAT 函数【连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL】
SELECT  CONCAT(nickname,ads_url_join) AS users,nickname 
FROM RG_USERS

-- mysql LIMIT 函数
SELECT *
FROM TRANSACTIONS
LIMIT 2,9

SELECT
  user_id,
  product_ctg,
  product_name,
  product_price
FROM REC_1_PRDCT_INFO
WHERE product_price IN(SELECT
                         MAX(product_price) AS product_price
                       FROM REC_1_PRDCT_INFO
                       GROUP BY user_id,product_ctg)


-- 求出 TRANSACTIONS 中各个user_id下的成单量最多的前5件商品集,包含各个商品的成单总数量
SELECT
  user_id,
  product_ctg,
  COUNT(*)
FROM TRANSACTIONS
WHERE consumer_bhv = 'B'
GROUP BY user_id	
	
-- 求出 表REC_1_PRDCT_INFO 中各个user_id下的各个ctg中价格最高的商品集
SELECT
  a.user_id,
  a.product_ctg,
  a.max_price,
  b.product_name,
  b.product_id
FROM (SELECT
        user_id,
        product_ctg,
        MAX(product_price)    max_price
      FROM REC_1_PRDCT_INFO
      GROUP BY user_id,product_ctg) AS a,
  REC_1_PRDCT_INFO AS b
WHERE a.user_id = b.user_id
    AND a.product_ctg = b.product_ctg
    AND a.max_price = b.product_price
GROUP BY a.user_id, a.product_ctg,a.max_price

-- INNER JOIN 
SELECT
  b.user_id,
  a.nickname,
  a.user_url,
  b.pctg_wgt
FROM REC_1_USER_WGT AS b
  INNER JOIN RG_USERS AS a
    ON a.rg_client_id = b.user_id
ORDER BY user_id DESC

-- RIGHT JOIN
SELECT
  a.nickname,
  a.user_url,
  b.pctg_wgt,
  b.user_id
FROM REC_1_USER_WGT AS b
  RIGHT JOIN RG_USERS AS a
    ON a.rg_client_id = b.user_id
ORDER BY user_id DESC

-- LEFT JOIN
SELECT
  a.nickname,
  a.user_url,
  b.pctg_wgt,
  b.user_id
FROM REC_1_USER_WGT AS b
  LEFT JOIN RG_USERS AS a
    ON a.rg_client_id = b.user_id
ORDER BY user_id DESC

-- CROSS JOIN
SELECT
  b.user_id,
  a.nickname,
  a.user_url,
  b.pctg_wgt
FROM REC_1_USER_WGT AS b
  CROSS JOIN RG_USERS AS a
WHERE a.rg_client_id = b.user_id
ORDER BY user_id DESC

-- UNION;  UNION ALL;[UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。]
-- [默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。]
SELECT user_id FROM REC_1_USER_WGT
UNION 
SELECT user_id FROM REC_1_PRDCT_INFO

-- IS NULL 和 IS NOT NULL 操作符。
SELECT *
FROM RG_USERS
WHERE ads_url_join IS NULL

SELECT *
FROM RG_USERS
WHERE ads_url_join IS NOT NULL


-- 聚合函数[AVG();COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入);COUNT(*) 函数返回表中的记录数;COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目;
-- 【MAX();MIN();SUM 函数返回数值列的总数(总额);;;;】
SELECT
  AVG(user_max_sub_num) AS subAverage
FROM REPORT_USERS

SELECT *
FROM REPORT_USERS
WHERE user_max_sub_num < (SELECT
                            AVG(user_max_sub_num) AS subAverage
                          FROM REPORT_USERS)
                          
SELECT
  COUNT(product_var1)
FROM REC_1_PRDCT_INFO

SELECT
  COUNT(DISTINCT product_var1)
FROM REC_1_PRDCT_INFO

SELECT
  COUNT(DISTINCT user_id)
FROM REC_1_PRDCT_INFO

SELECT MAX(rec_charge_rate) FROM REC_1_PRDCT_INFO
SELECT MIN(rec_charge_rate) FROM REC_1_PRDCT_INFO
SELECT SUM(rec_charge_rate) FROM REC_1_PRDCT_INFO


-- GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组
SELECT user_id,SUM(rec_charge_rate) AS num FROM REC_1_PRDCT_INFO
GROUP BY user_id

SELECT user_id,product_var1,SUM(rec_charge_rate) AS num FROM REC_1_PRDCT_INFO
GROUP BY user_id,product_var1


-- HAVING 子句[在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用]
-- [查找订单总金额少于 100 的客户。]
SELECT
  consumer_id,
  SUM(product_price) 
FROM TRANSACTIONS
GROUP BY consumer_id
HAVING SUM(product_price) < 100

SELECT
  consumer_id,
  SUM(product_price) AS total
FROM TRANSACTIONS
WHERE rec_date='2012-08-01'
GROUP BY consumer_id
HAVING total BETWEEN 1 AND 100


SELECT
  Customer,
  SUM(OrderPrice)
FROM Orders
WHERE Customer = 'Bush'
     OR Customer = 'Adams'
GROUP BY Customer
HAVING SUM(OrderPrice) > 1500

-- UCASE 函数把字段的值转换为大写;LCASE 函数把字段的值转换为小写
SELECT UCASE(user_url) 
FROM RG_USERS	

SELECT LCASE(user_url) 
FROM RG_USERS	

-- MID 函数用于从文本字段中提取字符
SELECT
  MID(user_url,1,3) AS single
FROM RG_USERS

-- ROUND 函数用于把数值字段舍入为指定的小数位数。[ 四舍五入,舍入为最接近的整数]
SELECT
  ROUND(product_price) 
FROM REC_1_PRDCT_INFO
WHERE product_price =582.40 OR product_price =4.90 OR product_price =93.50


-- myql 时间函数
SELECT NOW()

SELECT YEAR('2003-03-31')+5 AS c_year;

SELECT
  DAYNAME('2000-01-01') AS week_day;

SELECT
  DAYOFYEAR('2000-12-31');

SELECT
  DATE_ADD('2003-07-13', INTERVAL 14 DAY);

SELECT
  'The number of CTG is :',
  COUNT(*)
FROM RG_USERS

 

--

CREATE DATABASE rec

DROP TABLE temp_cid_mapping

SELECT
  COUNT(*)
FROM rec_1_prdct_info

SELECT
  COUNT(*)
FROM temp_curr_trans

-- group by; order by ..asc
SELECT
  a.user_id,
  COUNT(*)  AS total
FROM rec_1_user_wgt a,
  rec_1_prdct_info b
WHERE a.user_id = b.user_id
GROUP BY user_id
ORDER BY total DESC

-- INNER JOIN..ON; WHERE; group by; order by ..asc
SELECT
  a.user_id,
  COUNT(*)  AS total
FROM (rec_1_user_wgt AS a
   INNER JOIN rec_1_prdct_info AS b
     ON a.user_id = b.user_id)
  INNER JOIN temp_curr_trans AS c
    ON b.product_url = c.session_url
WHERE b.product_var1 IS NOT NULL
GROUP BY user_id
ORDER BY total DESC

-- 两张表联合join
-- INNER JOIN; USING; group by; order by ..asc
SELECT
 user_id ,COUNT(*)  AS total,CONCAT(user_id,product_url)
  FROM rec_1_user_wgt b
  INNER JOIN rec_1_prdct_info a
    USING (user_id)
GROUP BY user_id
ORDER BY total DESC

SELECT DISTINCT user_id FROM temp_curr_trans

-- 三张表联合join
SELECT
  a.user_id,
  COUNT(*)  AS total
FROM (temp_curr_trans AS c
   INNER JOIN rec_1_prdct_info AS b
     ON b.product_url = c.session_url)
  INNER JOIN rec_1_user_wgt AS a
    ON a.user_id = b.user_id
WHERE b.product_var1 IS NOT NULL
GROUP BY user_id
ORDER BY total DESC

-- 两张表联合left outer join on
-- INNER JOIN; USING; group by; order by ..asc
SELECT
 user_id ,COUNT(*)  AS total,CONCAT(user_id,product_url)
  FROM rec_1_user_wgt b
  LEFT OUTER JOIN rec_1_prdct_info a
    USING (user_id)
GROUP BY user_id
ORDER BY total DESC
 

---------------

0
1
分享到:
评论

相关推荐

    SQL-test3.2.sql

    SQL-test3.2.sql

    sql-test-website:网站的简化版本,可为用户提供交互式SQL测试

    这个简化版的sql-test-website专为那些希望通过实际操作来提升SQL知识的用户设计,提供了一个交互式的环境,使得用户可以在浏览器中编写、执行SQL语句,并立即看到结果。这种实时反馈的方式对于初学者和经验丰富的...

    hive-testbench-hive14.zip大数据TPCDS-99SQL自动测试脚本

    《Hive Testbench与TPCDS:大数据性能测试与99条SQL脚本解析》 在大数据处理领域,Hive作为一个分布式数据仓库系统,被广泛应用于海量数据的存储和分析。而TPCDS(Transaction Processing Performance Council ...

    sql-test-data-generator:快速创建您SQL测试数据

    SQL测试数据生成器 为什么要使用SQL测试数据生成器? 由于数据库完整性的限制,使用SQL编写数据集可能既乏味又耗时。... &lt; artifactId&gt;sql-test-data-generator &lt; version&gt;0.1-SNASPHOT 您可以在org.s

    spring-test-3.2.0.RELEASE.jar

    本文将详细探讨`spring-test-3.2.0.RELEASE.jar`这一版本中的核心特性、使用方法及其在实际项目中的应用。 首先,`spring-test`模块的核心目标是简化Spring应用的测试工作,它提供了对JUnit、TestNG等主流测试框架...

    mysql-8.0.23-winx64-debug-test.zip

    这个压缩包文件“mysql-8.0.23-winx64-debug-test.zip”包含了运行、调试和测试MySQL服务器的所有必要组件,特别是对于开发者和数据库管理员来说,这是一个非常有价值的资源。 首先,MySQL 8.0.23引入了一系列性能...

    mysql-8.0.20-winx64-debug-test.zip

    本压缩包"mysql-8.0.20-winx64-debug-test.zip"是专为Windows 64位操作系统编译的MySQL安装包,它包含了调试信息和测试用例,对于开发人员和系统管理员进行故障排查和性能优化尤其有用。 首先,"winx64"表示这个...

    mysql-8.0.31-winx64-debug-test.zip

    对于MySQL这样的数据库系统,测试套件通常包括各种SQL查询、并发操作和性能测试,确保其在不同场景下的正确性和稳定性。 6. **mysql-8.0.31-winx64**:这个文件名可能代表压缩包解压后的根目录,其中包含了所有...

    JDBC-and-SQL-test

    例如,`JDBC-and-SQL-test-main`可能包含一个测试项目,用于演示如何使用JDBC执行SQL查询、插入、更新和删除操作,以及如何处理事务和批量处理。通过这个测试项目,开发者可以更好地理解和掌握JDBC与SQL的结合使用。

    SQLQuery-TEST.sql

    SQLQuery-TEST.sql

    mysql-8.0.29-winx64-debug-test.zip

    "mysql-8.0.29-winx64-debug-test.zip" 文件包含了在Windows 64位操作系统上运行的MySQL 8.0.29的调试和测试套件。 首先,MySQL 8.0.29引入了许多改进和新特性。其中,增强的SQL标准支持、JSON字段的优化、新的窗口...

    SSH-ForSql-Test.7z

    标题“SSH-ForSql-Test.7z”表明这是一个压缩包,其中包含了使用SSH协议访问数据库的C#代码示例,特别针对MySQL数据库。描述详细解释了这个项目的核心功能,即利用C#编程语言,通过SSH(Secure Shell)安全通道进行...

    test-sql-statement.frx

    test-sql-statement.frx

    spring-boot-test示例程序

    对于数据库测试,可以利用`@DataJpaTest`或`@Sql`注解执行特定的SQL脚本来设置测试数据。`@WithMockUser`注解可以模拟用户身份进行授权测试。 5. **Mockito**: Mocking是单元测试中的一个重要概念,Mockito是一个...

    ECshop--sqlTest--Demo

    "ECshop--sqlTest--Demo"这个标题暗示我们这里涉及到的是ECShop系统中的SQL测试或示例。在电商系统中,数据库是核心组成部分,它存储了产品信息、用户数据、订单状态等各种关键信息。因此,SQL测试对于确保ECShop的...

    PostgreSQL(postgresql13-test-13.5-1PGDG.rhel7.x86_64.rpm)

    PostgreSQL(postgresql13-test-13.5-1PGDG.rhel7.x86_64.rpm)适用于RHEL/CentOS/Oracle Linux 7 - x86_64 PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系...

    gke-cloud-sql-test:测试GKE和Cloud SQL之间的连接

    Google Kubernetes Engine-GitHub操作 使用将部署到现有集群的示例工作流。 此代码仅作为示例。 您可能需要更改或更新值以匹配您的设置。 工作流程说明 对于推送到master分支,此工作流程将: ...

    database--connection--test.rar_myeclipse_myeclipse sql

    标题中的"database--connection--test.rar_myeclipse_myeclipse sql"表明这是一个关于MyEclipse集成开发环境与SQL Server 2008数据库进行连接测试的压缩包文件。MyEclipse是Eclipse的一个扩展,专门用于Java、Web和...

    Skillrack-Daily-Challenge-And-Daily-Test-源码.rar

    【标题】 Skillrack-Daily-Challenge-And-Daily-Test-源码 这个压缩包文件“Skillrack-Daily-Challenge-And-Daily-Test-源码.rar”很可能包含了一组编程挑战或测试的源代码,源自Skillrack平台。Skillrack是一个...

    access sqlserver test

    标题中的“access sqlserver test”表明我们关注的是Access与SQL Server之间的交互,特别是与测试相关的操作。Access是一款由Microsoft开发的关系型数据库管理系统(RDBMS),而SQL Server是更强大的企业级数据库...

Global site tag (gtag.js) - Google Analytics