doujiang1001 2017-07-30 21:53
浏览 105
已采纳

在一个查询中选择*,count(*)[重复]

This question already has an answer here:

I've got a DB with a few columns and I'm trying to populate a html table with it. Everything's going fine but I've encountered the following problem:

Since I'm filling filtered Results into different Columns, I came up with a SQL Query that needs both Select * and count(*)?

$query = "SELECT *, COUNT(example_A) AS total_example_A FROM test WHERE example_A = 'certain_result' AND date(start_date) = '$current_date_proof' ORDER BY start_date ASC";

It does work, but I'm only getting the first result. I guess I cannot combine Select with Count?

</div>
  • 写回答

1条回答 默认 最新

  • dtwknzk3764 2017-07-30 22:05
    关注

    You can do it with a correlated sub-query, Count is an aggregation function ( so it aggregates or combines all the data ):

    $query = "
        SELECT
            t1.*,
            ( SELECT COUNT(t0.id) FROM test AS t0 WHERE t0.id = t1.id ) AS total_example_A
        FROM
            test AS t1
        WHERE
                t1.example_A = 'certain_result'
            AND
                date(t1.start_date) = '$current_date_proof'
        ORDER BY t1.start_date ASC
    ";
    

    This assumes that your table test has a primary key named id. One other thing is I would count on the primary key if its not (example_A) COUNT(t0.id)

    In my world a database either have a Auto Increment Int as the primary key or they have a compound primary key consisting of 2 or more foreign keys which are themselves Auto Increment Int fields. It's vital ( IMO ) to always have a surrogate key in you table. That is a key that has no direct relationship to the data itself. But, that is just me...

    You could just count the return within your application, but barring that the correlated sub-query should give you the best/goodest performance. Certainly much better then a separate database call.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源