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

Beberapa hitungan dan grup oleh

SELECT ID, Name,
        SUM(CASE WHEN `Page Visited` = 'Page A' THEN 1 ELSE 0 END) `Page A Visit`,
        SUM(CASE WHEN `Page Visited` = 'Page B' THEN 1 ELSE 0 END) `Page B Visit`,
        SUM(CASE WHEN `Page Visited` = 'Page C' THEN 1 ELSE 0 END) `Page C Visit`
FROM tableName
GROUP BY ID, Name

jika Anda memiliki nomor page yang tidak diketahui , Anda juga dapat PreparedStatement

SET @sql = NULL;
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT(
      'SUM(CASE WHEN `Page Visited` =''',
      `Page Visited`,
      ''' then 1 ELSE 0 end) AS ',
      CONCAT('`',`Page Visited`, ' Visits`')
    )
  ) INTO @sql
FROM TableName;

SET @sql = CONCAT('SELECT ID, Name, ', @sql, ' 
                   FROM tableName
                   GROUP BY ID, Name');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Migrasi Laravel:kunci unik terlalu panjang, bahkan jika ditentukan

  2. Berikan hak istimewa pada beberapa tabel dengan awalan tertentu

  3. SQLSTATE[HY093] :pernyataan pdo saat dimasukkan ke mysql db

  4. PathExpression tidak valid. Harus berupa StateFieldPathExpression

  5. Pernyataan MySQL SELECT dengan satu bidang DISTINCT