SQL在php中给了我一个结果[关闭]

Posted

技术标签:

【中文标题】SQL在php中给了我一个结果[关闭]【英文标题】:SQL gives me one result in php [closed] 【发布时间】:2018-01-13 14:28:19 【问题描述】:

嗨,任何人都可以帮助我解决我的问题,我目前正在处理我的查询,我想在其中显示不同日期的用户。但是有很多重复的用户,所以我决定使用 sql 组。但输出只有1个数据。这是我的sql:

SELECT
                    c.col_id,
                    c.col_quantity,
                    c.col_request_date,
                    c.col_status,
                    u.col_name,
                    u.col_lname,
                    u.col_phone,
                    u.col_address,
                    p.col_name,
                    p.col_supplier,
                    p.col_quantity,
                    p.col_price,
                    p.col_image
                FROM 
                    tbl_cart AS c 
                JOIN 
                    tbl_users AS u 
                ON 
                    u.col_acct_id = c.col_user_id 
                JOIN 
                    tbl_product AS p 
                ON 
                    p.col_id = c.col_product_id 
                WHERE 
                    (c.col_status = "checkout" OR c.col_status = "checkout_complete") 
                GROUP BY 
                    (c.col_user_id AND c.col_request_date)

【问题讨论】:

这里没有 php 或 pdo。 wdym? @FunkFortyNiner 我不知道“wdym”是什么意思。最佳猜测:“你是什么意思”?如果是这样,那就这样写吧。 对不起,你是什么意思? @FunkFortyNiner 在分组中使用逗号,而不是 AND。 【参考方案1】:

我不确定 GROUP BY 是否满足您的真正需要,但您正在通过布尔表达式进行聚合。

试试这个:

GROUP BY c.col_user_id, c.col_request_date

AND 产生三个值之一:真、假、NULL。在这种情况下,它可能总是评估为真,因为这两个值都不是每个NULL 或零。因此,您只会得到一排。

这是一个示例,说明为什么您从不想要使用 mysql(错误)功能,该功能允许 SELECT 中的未聚合键,除非您真的知道自己在做什么。我建议您提出另一个问题,包括样本数据、期望的结果,并解释您希望如何从具有相同用户和请求日期的众多记录中选择一条或另一条记录。

【讨论】:

以上是关于SQL在php中给了我一个结果[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Sql server 语法错误 [关闭]

XAMPP 是不是支持 SQL Server? [关闭]

资源泄漏:'in' 永远不会关闭

关闭我的 tkinter 串行应用程序,给了我一个例外

你好闪亮的应用程序在反应性表达中给了我错误

尝试更改状态栏样式在 ios 中给了我错误 - React native