आप यह जांचने के लिए एक चर का उपयोग कर सकते हैं कि क्या अंतिम आईडी वर्तमान आईडी के बराबर है, और उस स्थिति में आउटपुट शून्य या '' इसके बजाय।
select
case when c.ClientId <> @clientid then c.Name else '' end as ClientName,
case when c.ClientId <> @clientid then @ClientId := c.ClientId else '' end as ClientId,
p.ContactId,
p.Name as ContactName
from
Clients c
inner join Contacts p on p.ClientId = c.Clientid
, (select @clientid := -1) x
order by
c.ClientId, p.ContactId
उदाहरण:http://sqlfiddle.com/#!2/658e4c/6
ध्यान दें, यह थोड़ा हैकी है। मैंने जानबूझकर ClientId को दूसरा फ़ील्ड बनाया है, इसलिए मैं उसी फ़ील्ड में ClientId वेरिएबल को बदल और वापस कर सकता हूं। अन्य मामलों में, अधिक विस्तृत मामलों में, आपको इसे एक अलग क्षेत्र में करना पड़ सकता है। लेकिन परिणाम से उस प्लेसहोल्डर फ़ील्ड को समाप्त करने के लिए, आपको पूरी क्वेरी को एक उप-चयन में एम्बेड करना होगा, और शीर्ष स्तर की क्वेरी पर वांछित फ़ील्ड को सही क्रम में परिभाषित करना होगा।