Select nth percentile from MySQL

后端 未结 3 398
情话喂你
情话喂你 2021-01-19 18:43

I have a simple table of data, and I\'d like to select the row that\'s at about the 40th percentile from the query.

I can do this right now by first querying to find

3条回答
  •  悲&欢浪女
    2021-01-19 19:26

    As an exercise in futility (your current solition would probably be faster and prefered), if the table is MYISAM (or you can live with the approximation of InnoDB):

    SET @row =0;
    SELECT x.*
    FROM information_schema.tables
    JOIN (
      SELECT @row := @row+1 as 'row',mydata.*
      FROM mydata
      ORDER BY field ASC
    ) x
    ON x.row = round(information_schema.tables.table_rows * 0.4)
    WHERE information_schema.tables.table_schema = database()
    AND information_schema.tables.table_name = 'mydata';
    

提交回复
热议问题