SELECT DISTINCTROW问题MySQL 5(MariaDB fork)

问题描述 投票:0回答:1

我试图找出我的查询有什么问题,让我解释一下。

我的查询

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

我认为是NULL = EMPTY(没有显示)

怎么了?

EDITED

我的评论被删除并以简单的方式纠正了这个问题。

任何月份的日期格式均为年月日,任何月份为31日

即使我在没有查询日期的情况下尝试运行查询,但它也是这样做的

sql mariadb
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.