Mysql
 sql >> база данни >  >> RDS >> Mysql

групов еквивалент на concat в прасе?

grouped = GROUP table BY userid;
   X = FOREACH grouped GENERATE group as userid, 
                                table.clickcount as clicksbag, 
                                table.pagenumber as pagenumberbag;

Сега X ще бъде:

{(155,{(2),(3),(1)},{(12),(133),(144)},
 (156,{(6),(7)},{(1),(5)}}

Сега трябва да използвате builtin UDF BagToTuple :

output = FOREACH X GENERATE userid, 
                            BagToTuple(clickbag) as clickcounts, 
                            BagToTuple(pagenumberbag) as pagenumbers;

output сега трябва да съдържа това, което искате. Можете също да обедините изходната стъпка в стъпката за сливане:

    output = FOREACH grouped GENERATE group as userid, 
                     BagToTuple(table.clickcount) as clickcounts, 
                     BagToTuple(table.pagenumber) as pagenumbers;



  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 select with in клауза не използва индекс

  2. Ако PHP PDO транзакция се провали, трябва ли изрично да се върна()?

  3. PHP - Фатална грешка:Извикване на член функция bind_param()

  4. Не мога да накарам mysql-connector-python да се инсталира във virtualenv

  5. Изберете последното съобщение между комуникацията на двама потребители в mysql