Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. CREATE TABLE `devices` (
  2. `uuid` varchar(256) NOT NULL,
  3. `token` varchar(256) NOT NULL,
  4. `last_connected` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  5.  
  6. UNIQUE KEY(uuid, token)
  7. );
  8.  
  9. CREATE TABLE `blacklist` (
  10. `uuid` varchar(256) NOT NULL,
  11. `cat_id` int(10) NOT NULL
  12. );
  13.  
  14. +----+-----+-------------------+
  15. |uuid|token|last_connected |
  16. +----+-----+-------------------+
  17. |a |t1 |2019-02-19T08:10:00|
  18. +----+-----+-------------------+
  19. |a |t2 |2019-02-19T08:12:00|
  20. +----+-----+-------------------+
  21. |b |ta |2019-02-19T08:11:00|
  22. +----+-----+-------------------+
  23.  
  24. +----+------+
  25. |uuid|cat_id|
  26. +----+------+
  27. |a |1 |
  28. +----+------+
  29. |a |3 |
  30. +----+------+
  31. |a |7 |
  32. +----+------+
  33. |a |5 |
  34. +----+------+
  35.  
  36. SELECT token
  37. FROM devices AS ad1
  38. LEFT JOIN blacklist AS abl
  39. ON ad1.uuid = abl.uuid
  40. WHERE last_connected = (SELECT MAX(last_connected)
  41. FROM devices AS ad2
  42. WHERE ad1.uuid = ad2.uuid)
  43.  
  44. +-----+
  45. |token|
  46. +-----+
  47. | t2 |
  48. +-----+
  49. | ta |
  50. +-----+
  51.  
  52. SELECT token
  53. FROM devices AS ad1
  54. LEFT JOIN blacklist AS abl
  55. ON ad1.uuid = abl.uuid
  56. AND abl.cat_id NOT IN (1) WHERE last_connected = (SELECT MAX(last_connected)
  57. FROM devices AS ad2
  58. WHERE ad1.uuid = ad2.uuid)
  59.  
  60. +-----+
  61. |token|
  62. +-----+
  63. | t2 |
  64. +-----+
  65. | t2 |
  66. +-----+
  67. | t2 |
  68. +-----+
  69. | ta |
  70. +-----+
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement