我想弄清楚我的查询出了什么问题,让我解释一下。SELECT DISTINCTROW问题MySQL 5(MariaDB叉)
我的查询
SELECT DISTINCTROW no,month,year,pin
FROM db.table
WHERE date > '2017-11-31'
数据库表
包括以下内容:
| id | no | month | year | pin | date |
|------|------|-------|------|-----|----------|
| 24 | 1000 | 12 | 2017 | 521 |2017-12-31|
| 26 | 1000 | 12 | 2020 | 521 |2020-12-31|
| 29 | 1003 | 09 | 2018 | 317 |2018-09-31|
| 30 | 1003 | 09 | 2018 | 317 |2018-09-31|`
所以我的预期输出如下:
1000, 12, 2017, 521
1000, 12, 2020, 521
1003, 09, 2018, 317
但我的查询只返回以下内容:
null, 12, 2017, 521
1003, 09, 2018, 317
我的意思BY NULL =(没有任何显示)EMPTY
有什么不对?
EDITED
我的意见取出,并通过简单的方式纠正的问题都没有。任何月份
日期格式为年 – 月 – 日及天为任何一个月为31
即使我尝试运行查询,而查询的日期,但它是做同样的
===========解决方案如下:
SELECT DISTINCT no,month,year,pin ...
而不是DISTINCTROW
。您正在寻找这4列的不同值,而不是整行。
(关于进一步的讨论,提供SHOW CREATE TABLE
。)