【问题标题】:MySQL only returns a single rowMySQL 只返回一行
【发布时间】:2015-03-18 15:45:08
【问题描述】:

我的数据库中有一个表,目前包含 2 条记录。除了唯一的 id 和 upload_date 之外,每条记录中的数据完全相同。

我正在运行一个简单的查询来查找表中的数据,但是它只返回其中一行。

数据如下:

id    from_user    to_user    filename        uploaded_date
1     ABC123       XYZ123     filename1.pdf   2015-03-18 14:28:32
2     ABC123       XYZ123     filename.pdf    2015-03-18 14:52:19

查询如下:

SELECT * 
FROM (`file_uploads`) 
WHERE `from_user` = 'ABC123' 
  AND `to_user` = 'XYZ123' 
  AND `folder_path` = './uploads/ABC123' 
  AND `is_deleted` = 0 
  AND `to_user_archived` = 0 
ORDER BY `upload_date` DESC

这是因为 MySQL 认为行是重复的而内置的吗?

任何帮助表示赞赏。

【问题讨论】:

  • 您有 ORDER BY upload_date - 但该列名为 uploaded_date
  • 不,没有内置任何东西可以消除上述查询的重复记录,它是返回一行的条件。最好是发布一些数据和期望的结果。
  • 我们看不到folder_path 列。也许两行的内容不同? (is_deletedto_user_archived 都不是)
  • 您的选择标准中有列在您的表格示例中不存在。请确保您的示例代码有意义
  • 让我们一起来集体猜测。 ^(今天不拥抱)。

标签: php mysql codeigniter


【解决方案1】:

试试这个

SELECT * FROM `file_uploads`
WHERE `from_user` = 'ABC123' 
AND `to_user` = 'XYZ123' 
AND `filename` = 'filename1.pdf'
ORDER BY `uploaded_date` DESC

【讨论】:

    猜你喜欢
    • 2020-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 2017-09-04
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多