Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pilih semua kolom lebih besar dari beberapa nilai

Struktur data Anda tidak dinormalisasi. Tetapi jika Anda ingin menggunakan jalur ini:

select sub.student
FROM (
  select t.timestamp,
    t.Name,
    t.Total,
    c.col AS student,
    case c.col
      when 'Student1' then Student1
      when 'Student2' then Student2
      when 'Student3' then Student3
      -- ...
    end as d
  from mytable t
  cross join
  (
    select 'Student1' as col
    union all select 'Student2'
    union all select 'Student3'
    -- ...
  ) c
) AS sub
WHERE sub.timestamp = '20150911'
  AND sub.d > 0;
  -- sub.d = 'NA'
  -- sub.d = 0

SqlFiddleDemo

Keluaran:

╔══════════╗
║ student  ║
╠══════════╣
║ Student1 ║
║ Student2 ║
╚══════════╝

Jika Anda ingin hasil yang dipisahkan koma, gunakan:

select GROUP_CONCAT(sub.student ORDER BY sub.student) AS result

SqlFiddleDemo2

Keluaran:

╔═══════════════════╗
║       result      ║
╠═══════════════════╣
║ Student1,Student2 ║
╚═══════════════════╝



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql:hapus baris tabel tergantung pada nilai duplikat kolom?

  2. Pilih bagian dari MySQL Blob Field

  3. bagaimana cara menggabungkan dua tabel pada atribut umum di mysql dan php?

  4. Menghubungkan Heroku ke RDS menggunakan MySql2

  5. Periksa apakah Tomcat dan MySQL sudah diinstal pada mesin