SQL 基础练习

-- 创建数据库
CREATE DATABASE school CHARACTER SET UTF8; -- 使用数据库 USE school; -- id: 学生的id
-- name:学生的名字
-- nickname:学生的昵称
-- sex:性别
-- in_time: 入学的时间 CREATE TABLE students (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
nickname VARCHAR(20) NULL,
sex CHAR(1) NULL,
in_time DATETIME NULL
) -- 插入数据 单条数据
insert into students(name,nickname,sex,in_time) value('张三2','三哥2','男',now()); -- 插入数据 多条数据
insert into students(name,nickname) values
('张三2','三哥2'),
('张三2','三哥2'),
('张三2','三哥2'),
('张三2','三哥2'); -- 查询语句
-- 查询语句的执行顺序 select from [where group by having order by limit ]
select * from students; -- 查询 为男生的数据,并且倒叙排序
select id, name,nickname from students where sex='男' order by id desc; -- 查询 sql count() 计算slot_id 和event_type的个数直接返回一个数字
sql = 'select COUNT(slot_id),COUNT(event_type) from xad_app_log where slot_id = "{}" and event_type = "{}" and ngx_date="{}"'.format('Z2R0c2RoenlzNzAxMDQz','xad_click_tracking','' -- 查询 sql and 多个条件
sql = 'SELECT slot_id,device_id,request_id,event_type FROM xad_app_log WHERE ngx_date="%s" AND(event_type = "xad_impression" OR event_type = "xad_click_tracking" OR event_type = "xad_dl_start" OR event_type = "xad_dl_success" OR event_type = "xad_install_start" OR event_type = "xad_install_success")' % '' --查询 distinct 去重 下面的 SQL 语句仅从 "Websites" 表的 "country" 列中选取唯一不同的值,也就是去掉 "country" 列重复值:
sql = 'SELECT DISTINCT country FROM Websites' -- 查询 group by
#group by
sql = 'select event_type, COUNT(event_type) as num from xad_app_log where ngx_date = "%s" group by event_type' % '20180514 -- 查询 distinct 去重
sql = 'select count(DISTINCT(device_id)) from logstash_base where 1=1 and package_name="{}" and event_type="on_download_apk_succeed" and ngx_date="{}"'.format('com.tencent.reading', '2018-05-10')

-- 修改数据 -- update table_references set col_name1 = expr1 [where where_definition] update students set sex = '女' nickname = '没有昵称' where sex = '男'; update students set sex = '男' where id > 4; -- 删除数据 delete from students where sex = '男'

mysql 计算7天各个时间点的总和 例如 20180911 - 20180913 的总的impression click cost 和数

SELECT  advertiser_id,date,sum(impression),sum(click),sum(cost)
FROM account_entry_hour_account_amount
WHERE DATE_FORMAT(date, '%Y%m%d') > '' AND DATE_FORMAT(date, '%Y%m%d') <''
GROUP BY DATE_FORMAT(date, '%Y%m%d')

count(*):所有行进行统计,包括NULL行 (记得这个性能差些,不建议使用)
count(1):所有行进行统计,包括NULL行
count(column):对column中非Null进行统计
count(distinct column):对column中非Null进行去重统计

Mysql一次查询多个表

select `users_userprofile`.`advertisement_type`,`account_entry_account_amount`.`advertiser_id` ,sum(`account_entry_account_amount` .cost) as total_cost, sum(`account_entry_account_amount`.`impression` ) as imp, sum(`account_entry_account_amount`.`click` ) as click  from `account_entry_account_amount` , `users_userprofile`
where date = "2018-09-28 00:00:00" and `account_entry_account_amount` .`advertiser_id` =`users_userprofile` .id group by `users_userprofile`.`advertisement_type`

sql 基础练习 计算7天各个时间点的总和 group by order mysql一次查询多个表的更多相关文章

  1. SQL基础教程(第2版)第3章 聚合与排序:3-4 对查询结果进行排序

    第3章 聚合与排序:3-4 对查询结果进行排序 ● 使用ORDER BY子句对查询结果进行排序.● 在ORDER BY子句中列名的后面使用关键字ASC可以(通常省略默认)进行升序排序,使用DESC关键 ...

  2. SQL基础教程(第2版)第1章 数据库和SQL

    ● 数据库有很多种类,本书将介绍如何使用专门的 SQL语言来操作关系数据库.● 关系数据库通过关系数据库管理系统(RDBMS)进行管理. 根据 SQL 语句的内容返回的数据同样必须是二维表的形式,这也 ...

  3. [sql Server]除非另外还指定了TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效

    今天遇到一个奇怪的问题,项目突然要从mysql切换到sql server数据库,包含order by 子句的嵌套子查询报错. 示例:select top 10 name,age,sex from ( ...

  4. 在论坛中出现的比较难的sql问题:45(用户在线登陆时间的小时、分钟计算问题)

    原文:在论坛中出现的比较难的sql问题:45(用户在线登陆时间的小时.分钟计算问题) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. ...

  5. SQL基础&笔试题

    仅以此篇博客纪念让我羞愧的一次笔试,作为对数据库基础的恶补. 一.SQL的基本概念: SQL是集数据定义语言DDL,数据操纵语言DML,数据控制语言DCL的功能于一体,可以独立完成数据库生命周期的全部 ...

  6. sql基础题目测试及正确答案

    在网上做了一套基本的sql题目,以下是我的写的答案,适合基础人员练练 --创建测试数据 use test create table Student(S# varchar(10),Sname nvarc ...

  7. SQL基础学习_04_视图

    视图 1. 视图的创建     视图就是保存好的SELECT语句,这些SELECT语句执行之后会产生新的表,所以在SQL中,视图和表是不做差别对待的,也就是SQL也可以对视图做一些操作:     由于 ...

  8. Sql基础(零基础学数据库_SqlServer版)

    刚开始学C#时候的笔记,只是些基础的语句如有错误请批评指正,谢谢,(使用SqlServer2012以上) 一.  数据库概述 SQI全称 structrued Query Language 1.数据: ...

  9. SQL 基础学习(2) Joining 和function , 作业没有做,需要看百宝箱。NOsql的概念

    SQL 基础学习(2) Joining 可以同时关联(joining)多张表进行复杂的查询. 相比于用Rails捞出数据再用Ruby进行过滤组合,使用SQL更加高效,节能. 以下是 users has ...

随机推荐

  1. Eclipse Java注释模板设置简介,更改字体大小

    为类添加注释:此为我的模板设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments ...

  2. WKWebView 使用及注意事项

    iOS8之后,苹果推出了WebKit这个框架,用来替换原有的UIWebView,新的控件优点多多.由于一直在适配iOS7,就没有去替换,现在仍掉了iOS7,以为很简单的就替换过来了,然而在替换的过程中 ...

  3. linux下串口工具minicom

    系统环境:ubuntu  14 .04  和ubuntu 16.04 我当时的需要主要是两个,能够看到正常串口输出,并且把串口内容实时输出到文件中 那接下来工作主要是两个:1.安装 2.配置 相信各位 ...

  4. 问题 “No mapping found for HTTP request with URI [/fileupload/upload.do]” 的解决

    是因为自己springmvc的配置文件里面不小心删除掉了 <!-- 注解扫描 扫描该包下的注解--> <context:component-scan base-package=&qu ...

  5. Python学习笔记(八)—— 使用dict和set

    一.dict 1.定义: Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度 2.优势: di ...

  6. 【MySQL】mysql中any,in,some,all的区别

    子查询就是指在一个select语句中嵌套另一个select语句. any,in,some,all分别是子查询关键词之一, any 可以与=.>.>=.<.<=.<> ...

  7. 两段检验系统生成的identityHashCode是否重复的代码

    前言:承接上一篇hashCode和identityHashCode 的关系,下面的两段简单的程序主要是检验一下系统生成的identityHashCode是否存在重复的情况. 1:可以自由控制生成对象的 ...

  8. Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全 C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数 C# 算法题系列(一) 两数之和、无重复字符的最长子串 DateTime Tips c#发送邮件,可发送多个附件 MVC图片上传详解

    Newtonsoft.Json C# Json序列化和反序列化工具的使用.类型方法大全   Newtonsoft.Json Newtonsoft.Json 是.Net平台操作Json的工具,他的介绍就 ...

  9. golang 学习笔记 ---内存分配与管理

    Go语言——内存管理 参考: 图解 TCMalloc Golang 内存管理 Go 内存管理 问题 内存碎片:避免内存碎片,提高内存利用率. 多线程:稳定性,效率问题. 内存分配   内存划分 are ...

  10. 嵌入式Linux下MP4视频录制库MP4V2移植和简单介绍

    **************************************************************************************************** ...