2017-12-18 166 views
0

我想弄清楚我的查询出了什么问题,让我解释一下。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

即使我尝试运行查询,而查询的日期,但它是做同样的

+0

请添加相应的日期值的问题。我没有看到提交日期。 –

+0

是这个ms访问或sql服务器? –

+1

请指出'no'和'date'的数据类型 - 可能你会以错误的方式比较这些字段。为什么你使用'db.table'?它是否链接服务器表? –

回答

0

SELECT DISTINCT no,month,year,pin ...而不是DISTINCTROW。您正在寻找这4列的不同值,而不是整行。

(关于进一步的讨论,提供SHOW CREATE TABLE。)