Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

ग्रुप बाय क्लॉज में एक चुनिंदा अभिव्यक्ति के परिणाम का पुन:उपयोग करें?

हां, यह है . GROUP BY . में नए कॉलम का उपयोग करने के लिए आप इसे स्पार्क एसक्यूएल में 2 तरीकों से काम कर सकते हैं और ORDER BY खंड

उप क्वेरी का उपयोग करके दृष्टिकोण 1:

SELECT timeHour, someThing FROM (SELECT  
      from_unixtime((starttime/1000)) AS timeHour
    , sum(...)                          AS someThing
    , starttime
FROM
    some_table) 
WHERE
    starttime >= 1000*unix_timestamp('2017-09-16 00:00:00')
      AND starttime <= 1000*unix_timestamp('2017-09-16 04:00:00')
GROUP BY
    timeHour
ORDER BY
    timeHour
LIMIT 10;

साथ//सुरुचिपूर्ण तरीके का उपयोग करके दृष्टिकोण 2:

-- create alias 
WITH table_aliase AS(SELECT  
      from_unixtime((starttime/1000)) AS timeHour
    , sum(...)                          AS someThing
    , starttime
FROM
    some_table)

-- use the same alias as table
SELECT timeHour, someThing FROM table_aliase
WHERE
    starttime >= 1000*unix_timestamp('2017-09-16 00:00:00')
      AND starttime <= 1000*unix_timestamp('2017-09-16 04:00:00')
GROUP BY
    timeHour
ORDER BY
    timeHour
LIMIT 10;

स्कैला के साथ Spark DataFrame(wo SQL) API का उपयोग कर वैकल्पिक:

// This code may need additional import to work well

val df = .... //load the actual table as df

import org.apache.spark.sql.functions._

df.withColumn("timeHour", from_unixtime($"starttime"/1000))
  .groupBy($"timeHour")
  .agg(sum("...").as("someThing"))
  .orderBy($"timeHour")
  .show()

//another way - as per eliasah comment
df.groupBy(from_unixtime($"starttime"/1000).as("timeHour"))
  .agg(sum("...").as("someThing"))
  .orderBy($"timeHour")
  .show()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कोडइग्निटर:सभी $ का एसक्यूएल ऑडिट-> डीबी-> क्वेरी () विधि कॉल?

  2. समग्र प्राथमिक कुंजी और ऑटोइनक्रिकमेंट कॉलम लेकिन प्राथमिक कुंजी नहीं

  3. Android के साथ MySQL का उपयोग करना

  4. MySQL अन्य तालिका से डेटा सम्मिलित करें

  5. डेटाबेस डिज़ाइन - पुश मॉडल, या फैन-आउट-ऑन-राइट