未命名

 ZR_yst     2023-08-01     504     0   

欢迎来到银盒子的世界~

1

update/delete 不能从一个表中查出来就改变它

解决 再select 一次,记得取个别名

2

DATEDIFF(date1,date2)

计算日期相差多少天

adddate()

ADDDATE(date, INTERVAL expr unit)
           OR
ADDDATE(expr, days)

返回值:添加间隔后,它将返回日期或DateTime。

TIMESTAMPDIFF()

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

unit: 日期比较返回的时间差单位,常用可选值如下:

SECOND:秒

MINUTE:分钟

HOUR:小时

DAY:天

WEEK:星期

MONTH:月

QUARTER:季度

YEAR:年


3

where 后没有聚合函数

4

表: Triangle

+-------------+------+
| Column Name | Type |
+-------------+------+
| x           | int  |
| y           | int  |
| z           | int  |
+-------------+------+
(x, y, z)是该表的主键列。
该表的每一行包含三个线段的长度。

 

写一个SQL查询,每三个线段报告它们是否可以形成一个三角形。

以 任意顺序 返回结果表。

查询结果格式如下所示。

 

示例 1:

输入: Triangle 表:
+----+----+----+
| x  | y  | z  |
+----+----+----+
| 13 | 15 | 30 |
| 10 | 20 | 15 |
+----+----+----+输出: +----+----+----+----------+
| x  | y  | z  | triangle |
+----+----+----+----------+
| 13 | 15 | 30 | No       |
| 10 | 20 | 15 | Yes      |
+----+----+----+----------+

(1)if

select *,if(x+y>z and x+z>y and y+z>x,'Yes','No') as triangle from triangle;  

(2)case

select *,case when x+y>z and x+z>y and y+z>x then 'Yes' else 'No' end as taiangle from triangle;


5

单一数字 是在 MyNumbers 表中只出现一次的数字。

请你编写一个 SQL 查询来报告最大的 单一数字 。如果不存在 单一数字 ,查询需报告 null

查询结果如下例所示。

 

输入:MyNumbers 表:
+-----+
| num |
+-----+
| 8   |
| 8   |
| 3   |
| 3   |
| 1   |
| 4   |
| 5   |
| 6   |
+-----+输出:+-----+
| num |
+-----+
| 6   |
+-----+解释:单一数字有 1、4、5 和 6 。
6 是最大的单一数字,返回 6 。

select if(count(num)=1,num,null) from mynumbers group by num order by num desc limit 1;


6

保留两位小数 round(..,2)

发表评论