In the range α-majority query problem, we are given a sequence S[1..n] and a fixed threshold α ∈ (0, 1), and are asked to preprocess S such that, given a query range [i..j], we can efficiently report the symbols that occur more than α(j − i + 1) times in S[i..j], which are called the range α-majorities. In this article we first describe a dynamic data structure that represents S in compressed space -nH k + o(n lg σ) bits for any k = o(lg σ n), where σ is the alphabet size and H k ≤ H 0 ≤ lg σ is the k-th order empirical entropy of S -and answers queries in O lg n α lg lg n time while supporting insertions and deletions in S in O lg n α amortized time. We then show how to modify our data structure to receive some β ≥ α at query time and report the range β-majorities in O lg n β lg lg n time, without increasing the asymptotic space or update-time bounds. The best previous dynamic solution has the same query and update times as ours, but it occupies O(n) words and cannot take advantage of being given a larger threshold β at query time. Not even static data structures have previously achieved compression in terms of higher-order entropy. The smallest ones take nH 0 + o(n)(H 0 + 1) bits and answer queries in O(f (n)/α) time or take (1 + ǫ)nH 0 + o(n) bits and answer queries in optimal O(1/α) time, where f (n) is any function in ω(1) and ǫ is any constant greater than 0. By giving up updates, we can improve our query time to O((1/α) lg lg w σ) on a RAM with word size w = Ω(lg n) bits, which is only slightly suboptimal, without increasing our space bound. Finally, we design the first dynamic data structure for range α-minority -i.e., find a non-α-majority that occurs in a rangeand obtain space and time bounds similar to those for α-majorities. A static version of this structure is also the first α-minority data structure achieving compression in terms of H k .