2015-04-15 5 views
5

मैं कैसंद्रा के लिए बहुत नया हूं इसलिए यह एक नौसिखिया प्रश्न की तरह लग सकता है। मैं cqlsh 5.0.1 चला रहा हूँ स्थानीय पर कैसंद्रा 2.1.4।सीक्यूएल - आईडी और नवीनतम टाइमस्टैम्प द्वारा रिकॉर्ड प्राप्त करें

मैं एक मेज के नीचे की तरह है:

CREATE TABLE master (
id uuid, 
creation timestamp, 
event_type text, 
name text, 
PRIMARY KEY(id,creation) 
); 

... और रिकॉर्ड कर रहे हैं:

id         | creation     | event_type | name 
--------------------------------------+--------------------------+------------+------------------ 
305abd6d-34b8-4f36-96c6-9ea0c11be952 | 2015-04-15 14:01:54-0400 |  create |   test2 
305abd6d-34b8-4f36-96c6-9ea0c11be952 | 2015-04-15 14:03:03-0400 |  update |  test2 update 
7440c51c-6441-44fb-833b-6140fbe822eb | 2015-04-15 14:01:54-0400 |  create |   test3 
7440c51c-6441-44fb-833b-6140fbe822eb | 2015-04-15 14:03:44-0400 |  update |  test3 update 
7440c51c-6441-44fb-833b-6140fbe822eb | 2015-04-15 14:04:34-0400 |  update | test3 2nd update 

bf42a120-dec1-47d8-bde2-c0d76f1c93a5 | 2015-04-15 14:01:54-0400 |  create |   test1 

मैं अलग आईडी और अंतिम बार संशोधित टाइमस्टैम्प के साथ सभी रिकॉर्ड कैसे चुन सकते हैं। परिणाम की तरह होना चाहिए:

305abd6d-34b8-4f36-96c6-9ea0c11be952 | 2015-04-15 14:03:03-0400 |  update |  test2 update 
7440c51c-6441-44fb-833b-6140fbe822eb | 2015-04-15 14:04:34-0400 |  update | test3 2nd update 
bf42a120-dec1-47d8-bde2-c0d76f1c93a5 | 2015-04-15 14:01:54-0400 |  create |   test1 

उत्तर

4

अपने वर्तमान संरचना को देखते हुए, आप एक DISTINCT क्वेरी के साथ id से अलग किसी अन्य स्तंभों का चयन करने में सक्षम नहीं होगा। तुम बस id पी के रूप में के साथ एक और क्वेरी तालिका बना सकते हैं, तो एक बुनियादी SELECT कि पर चलने (यह हमेशा अंतिम संशोधित तिथि रखना चाहिए)

CREATE TABLE querytable (
    id uuid, 
    creation timestamp, 
    event_type text, 
    name text, 
    PRIMARY KEY(id) 
); 

SELECT * from querytable --should only contain unique ID's and the last updated creation date. 

आप गुरु को अपडेट करते ही इस तालिका से अपडेट करना होगा भी।

+0

आपकी प्रतिक्रिया के लिए बहुत बहुत धन्यवाद। तो मैं अपने टेबल को संशोधित करता है, तो टेबल मास्टर ( आईडी UUID, सृजन टाइमस्टैम्प, EVENT_TYPE पाठ, नाम पाठ, प्राथमिक कुंजी (आईडी, निर्माण) ) बनाने की तरह; – dgupta

+0

कृपया अंतिम टिप्पणी की अनदेखी ... यहाँ यह है .. अगर मैं टेबल मास्टर ( आईडी UUID, सृजन टाइमस्टैम्प, lastupdated टाइमस्टैम्प स्थिर, EVENT_TYPE पाठ, नाम पाठ, बनाएं तरह नवीनतम समय प्रविष्टि को बचाने के लिए मेरी मेज को संशोधित प्राथमिक कुंजी (आईडी, सृजन) ); ...... मैं नवीनतम प्रविष्टि कैसे प्राप्त कर सकता हूं? क्या मैं कह सकता हूं कि id = "एबीसी" और सृजन = lastupdated.मैंने कोशिश की लेकिन काम नहीं किया। यह मुझे लाइन 1 देता है: 21 9 इनपुट पर कोई व्यावहारिक विकल्प ';' किसी भी सहायता की सराहना की जाएगी। – dgupta

+0

@tymeJV यह प्रश्न का उत्तर नहीं देता .. इसका मतलब है कि मुझे केवल इस क्वेरी के लिए टेबल पर प्रबंधन करना है .. क्या कोई बेहतर दृष्टिकोण उपलब्ध है? –

संबंधित मुद्दे