Cara untuk menanyakan data pendua dalam SQL adalah dengan menggunakan klausa GROUP BY untuk mengumpulkan lajur yang diperlukan. Gunakan klausa HAVING untuk menentukan syarat penapis untuk data pendua.
Perintah SQL untuk menanyakan data pendua
Cara untuk menanyakan data pendua
Dalam SQL, anda boleh menanyakan data pendua dengan menggunakan GROUP<code>DAN / code> klausa untuk mencapai ini. <code>GROUP BY
和 HAVING
子句来实现。
步骤
GROUP BY
子句对所需列进行分组。HAVING
子句指定重复数据的过滤条件。语法
<code class="sql">SELECT column_name(s) FROM table_name GROUP BY column_name(s) HAVING COUNT(*) > 1;</code>
示例
假设有一个名为 students
的表,包含如下数据:
student_id | name |
---|---|
1 | John Doe |
2 | Jane Smith |
3 | John Doe |
4 | Mary Johnson |
要查询 students
表中重复的 name
字段,可以使用以下查询:
<code class="sql">SELECT name FROM students GROUP BY name HAVING COUNT(*) > 1;</code>
输出
<code>John Doe</code>
其他示例
orders
表中重复的 product_id
字段:<code class="sql">SELECT product_id FROM orders GROUP BY product_id HAVING COUNT(*) > 1;</code>
employees
表中重复的 email
字段并显示重复次数:<code class="sql">SELECT email, COUNT(*) AS count FROM employees GROUP BY email HAVING COUNT(*) > 1;</code>
注意
COUNT(*)
函数计算每个组中的行数。HAVING
子句中的条件可以基于聚合函数(如 COUNT
、SUM
和 AVG
KUMPULAN OLEH
. 🎜HAVING
untuk menentukan syarat penapis untuk data pendua. 🎜pelajar
yang mengandungi data berikut: 🎜student_id | nama |
---|---|
1 | John Doe |
2 | Jane Smith |
3 | John Doe |
Mary Johnson |
nama
yang berulang dalam jadual pelajar
> medan, anda boleh menggunakan pertanyaan berikut: 🎜rrreee🎜🎜Output🎜🎜rrreee🎜🎜Contoh lain🎜🎜product_id
berulang dalam medan e-mel
berulang dalam jadual pekerja
dan paparkan bilangan ulangan: 🎜🎜rrreee🎜🎜Nota🎜 🎜COUNT(*)
mengira bilangan baris dalam setiap kumpulan. 🎜HAVING
boleh berdasarkan fungsi agregat (seperti COUNT
, SUM
dan AVG
) . 🎜🎜Atas ialah kandungan terperinci Perintah untuk menanyakan data pendua dalam sql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!