【问题标题】:Display all yet avoid repetition of DB column records in SQL Server [Moodle] [PHP]在 SQL Server [Moodle] [PHP] 中显示所有但避免重复 DB 列记录
【发布时间】:2018-06-06 16:15:22
【问题描述】:

我想检索和显示数据库(SQL 服务器)中的值。唯一的问题是多条记录在列中具有相同的值。我基本上想循环浏览该列并显示所有唯一值的列表并省略相同的值。

$result = $DB->get_records_sql('SELECT column_name FROM table_name WHERE **cycle through column and list all values without duplicates**')

非常感谢任何帮助!

【问题讨论】:

    标签: php sql sql-server moodle moodle-api


    【解决方案1】:

    这应该从 SQL 端完成

    SELECT DISTINCT(column_name) FROM table_name
    

    可以将所有行拉回前端并在那里进行重复数据删除,但 DISTINCT 的性能可能会更好。

    SELECT column_name FROM table_name GROUP BY column_name
    

    是另一种选择。检查您的执行计划,看看 SQL 在性能方面的表现是否有任何不同。

    【讨论】:

    • 答案是正确的,但就性能而言,它更喜欢 group by 而不是 distinct
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    相关资源
    最近更新 更多