PHP mySQL - 选择dirrefent表中未使用的唯一值

api*_*s17 0 php mysql select unique

更新:请参阅下文

我有桌子:数据

+-----------------------+--------------+-----------+
| State                 | d_country    | d_postcode|
+-----------------------+--------------+-----------+
| State1                | Country1     |      1111 | 
| State2                | Country2     |      2222 | 
| State3                | Country3     |      3333 | 
| State4                | Country4     |      4444 | 
+-----------------------+--------------+-----------+
Run Code Online (Sandbox Code Playgroud)

另一个表:用户

+-----------------------+--------------+-----------+
| Name                  | u_country    | u_postcode|
+-----------------------+--------------+-----------+
| Name1                 | Country3     |      3333 | 
| Name2                 | Country5     |      5555 | 
| Name3                 |              |      6666 | 
| Name4                 | Country6     |      6666 | 
| Name5                 | Country6     |      6666 | 
+-----------------------+--------------+-----------+
Run Code Online (Sandbox Code Playgroud)

我应该使用什么SQL:

确定未在表数据中列出的国家/地区的数量(计数).例如u_postcode未列在d_postcode5555和6666中.它将返回2.

列出名称以及表数据中尚未提供的国家/地区.

更新

  1. 我想使用分组来过滤邮政编码,并将Name3和Name4设为不同的行.

例如:

    +-----------------------+--------------+-----------+
    | Name                  | u_country    | u_postcode|
    +-----------------------+--------------+-----------+ 
    | Name2                 | Country5     |      5555 | 
    | Name3                 |              |      6666 |
    | Name4                 | Country6     |      6666 | 
    +-----------------------+--------------+-----------+
Run Code Online (Sandbox Code Playgroud)

任何可能的想法?

备注:纠正自己

SELECT DISTINCT Name, u_country, u_postcode FROM user 
WHERE u_postcode NOT IN (SELECT d_postcode FROM data) 
Run Code Online (Sandbox Code Playgroud)

Fly*_*Cat 5

试试这个.

SELECT Name, u_country, u_postcode FROM user 
WHERE u_postcode NOT IN (SELECT d_postcode FROM data)
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你